perm filename TFTOPL.CH[TEX,DEK]3 blob sn#698589 filedate 1983-01-29 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\def\botofcontents{\vfill
C00003 00003	@ This program is written entirely in standard \PASCAL, except that
C00005 00004	@ On some systems you may have to do something special to read a
C00006 ENDMK
C⊗;
\def\botofcontents{\vfill
\centerline{(This listing shows the changes for {\sc WAITS} only)}}
\setcount0=\contentspagenumber \advcount0 by 1
\let\maybe=\no
@z
@ This program is written entirely in standard \PASCAL, except that
it prints on the user's terminal instead of the |output| file, and
it occasionally has lower case letters in strings that are output.
Such letters can be converted to upper case if necessary. The input is read
from |tfm_file|, and the output is written on |pl_file|; error messages and
other remarks are written on the terminal.
@↑system dependencies@>

The term |print| is used instead of |write|, so that the other modules
are system-independent.

@d print(#)==write(tty,#)
@d print_ln(#)==write_ln(tty,#)

@p @t\4@>@{$D-,W+@} {no debugging overhead}
program TFtoPL(@!tfm_file,@!pl_file);
label @<Labels in the outer block@>@/
const @<Constants in the outer block@>@/
type @<Types in the outer block@>@/
var@?@<Globals in the outer block@>@/
procedure initialize; {this procedure gets things started properly}
	begin print_ln(banner);@/
	@<Set initial values@>@/
	end;
@z
@ On some systems you may have to do something special to read a
packed file of bytes. For example, the following code doesn't work without
the \.{/B} switch at {\mc WAITS}, although it probably should?
@↑system dependencies@>

@<Set init...@>=
reset(tfm_file,'','/B:8');
@z